package com.zhs.smartmall.coupon.dto;

import io.swagger.annotations.ApiModel;
import lombok.*;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;

/**
 *
 * @author 
 * @since 2023-11-15
 */
@Data
@ApiModel(value = "SmsCouponHistoryDto")
public class SmsCouponHistoryDto implements Serializable {
        //表字段
        private static final long serialVersionUID = 1L;
        @JsonSerialize(using = ToStringSerializer.class)
        @ApiModelProperty(value = "主键")
        private Long id;

        @JsonSerialize(using = ToStringSerializer.class)
        @ApiModelProperty(value = "优惠券id")
        private Long couponId;

        @JsonSerialize(using = ToStringSerializer.class)
        @ApiModelProperty(value = "会员id")
        private Long memberId;

        @ApiModelProperty(value = "会员名字")
        private String memberNickName;

        @ApiModelProperty(value = "获取方式[0->后台赠送；1->主动领取]")
        private Integer getType;

        @ApiModelProperty(value = "创建时间")
        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
        private Date createTime;

        @ApiModelProperty(value = "使用状态[0->未使用；1->已使用；2->已过期]")
        private Integer useType;

        @ApiModelProperty(value = "使用时间")
        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
        private Date useTime;

        @JsonSerialize(using = ToStringSerializer.class)
        @ApiModelProperty(value = "订单id")
        private Long orderId;

        @JsonSerialize(using = ToStringSerializer.class)
        @ApiModelProperty(value = "订单号")
        private Long orderSn;

        @ApiModelProperty(value = "更新时间")
        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
        private Date updateTime;

        @ApiModelProperty(value = "是否删除")
        private Integer isDeleted;

        //=====================自定义字段=====================

        //id
        private List<String> idList;
}
